Processing media signals such as voice, audio, still images, video, and the like includes storage or transmission of the media signals. As used herein, the term “transmission” includes writing information into a storage medium and reading information from the storage medium. Although the storage capacity and transmission bandwidth available for processing media signals have grown tremendously in the last few decades, the demand for storage capacity and transmission bandwidth has been increasing even faster. Thus, in practice, effective signal compression is essential for media distribution and processing.
A typical signal compression system comprises an encoder and a decoder. The encoder receives the signal and produces a sequence of channel symbols, which are transmitted on a communication channel to the decoder. The decoder receives the sequence of channel symbols over the communication channel and (exactly or approximately) reconstructs the original signal based on the received sequence. A figure of merit that indicates the achieved compression is the compressed data size, that is, the number of channel symbols in the sequence. If the signal is defined in a domain of indefinite size, e.g., radio or television channels that have no specific beginning or end time, the achieved compression is often measured by the data rate, that is, the number of channel symbols per time unit. Thus, the terms “compressed data size” and “data rate” can be used interchangeably to refer to a figure of merit that represents the achieved compression. The channel symbols are taken from a finite set, known as the channel alphabet, which is specific to the communication channel. The simple and most ubiquitous channel alphabet is {0, 1}, where the channel symbols are bits. In this case the term “bit rate” is often used instead of “data rate.”
Some signal compression systems are lossless so that the reconstructed signal produced by the decoder is identical to the input signal that was compressed by the encoder. However, in most cases, the decoder is only able to reconstruct an approximate signal from the compressed data that is received over the communication channel. In that case, the quality of the decoded signal is measured by comparing it to the original signal and computing a distance measure between them, e.g., by treating the difference between the original and decoded signals as noise and computing the signal to noise ratio. Other distance measures are based on human perception and attempt to represent the degree to which the differences between the images are noticeable or objectionable to people. The performance of a signal compression method is described by both the compressed data rate and the decoded image quality.
A typical signal encoder processes its input in the following four steps:                1. Sampling: The signal is converted into an array of digital samples. If the signal has no definite begin and end points, the encoder repeatedly selects a finite “frame” for processing and the four steps are performed repeatedly for each frame.        2. Analysis: An array of parameters that characterizes (exactly or approximately) the signal is computed. Most of these parameters are real numbers.        3. Quantization: The array of parameters is mapped into an array of labels (not necessarily of the same dimension), where the labels are taken from one or more finite codebooks. Quantization is a lossy operation. Similar but non-identical signals may be quantized into the exact same array of labels, and after quantization there is no way to determine which of them was the original signal. The error introduced by the quantization is determined by the quantization level which specifies the granularity, or coarseness of the quantization. The quantization level may be specified in terms of a quantization step or other similar parameters of the specific quantization scheme. In the nomenclature used herein, higher quantization level implies coarser quantization.        4. Channel coding: The array of labels is converted into a sequence of channel symbols that is ready for transmission. Typically, this operation is lossless, that is, the array of labels is uniquely determined by the corresponding sequence of channel symbols.        
The signal decoder reverses the steps performed by the encoder. Channel decoding computes the quantization labels from the channel symbols; dequantization estimates the analysis parameters from the array of labels, a synthesis step generates an estimated digital signal from the analysis parameters and, if the signal has to be rendered, digital to analog conversion renders the decoded signal.
Many signal encoders provide means to control the tradeoff between compressed data rate and reconstructed signal quality by allowing the user to control the level of quantization, that is, its coarseness. Interfaces to entities that are able to control the quantization level may have several forms:                1. Open-ended: A quantization level is specified. Higher (coarser) quantization levels result in lower compressed data rates and lower decoded signal quality, but there is no specific guarantee for the actual data rate or quality of the given signal.        2. Constrained data rate: A maximal data rate is specified and the quantization level which is used is the lowest possible level that results in a data rate not exceeding the specified maximum.        3. Constrained decoded quality: A minimal decoded signal quality is specified and the quantization level which is used is the highest possible level that results in a decoded signal quality not lower than the specified minimum.In interfaces 2 and 3 it is often necessary to repeat the encoding several times, until a quantization level is found that meets the requirements. Interface 3 also requires the encoder to have full knowledge of the decoder. In some cases, interface 3 includes an implementation of the decoder in order to compute the decoded signal and test its quality. Because of this added complexity, many signal compression standards incorporate only an open-ended type of quality/rate control interface, assuming that if necessary, interfaces of type 2 or 3 can be built at the application level on top of an interface of type 1.        
If the signal is an image, step 1 (“sampling”) of the signal encoding scheme above is commonly performed by a conventional digital image acquisition system, which requires deploying an array of detectors at an image plane of an image acquisition device and exposing the array of detectors to light received from a scene. The detectors generate signals that are proportional to the intensity of the light falling on the detector. A complete image of the scene is produced by sampling the intensities generated by the array of detectors. Each detector corresponds to a pixel of the acquired image. As used herein, the term “pixel” refers to a single scalar element of a multi-component representation of the image. Acquiring the information representative of the portion of the image represented by each pixel therefore requires performing a separate measurement of the intensity of the light falling on the detector corresponding to the pixel. Consequently, the number of detectors and the number of measurements required to produce an image in a conventional digital acquisition system is equal to the number of pixels used to represent the image. Once the image has been sampled, a conventional image compression algorithm, such as JPEG or JPEG 2000, is used to compress the image using steps 2-4 above.